import 'package:flutter/material.dart';
import 'package:get/get.dart';

class ImageViewerController extends GetxController {
  // 图片列表
  List<String> imageUrls = [];

  // 当前显示的图片索引
  final RxInt currentIndex = 0.obs;

  // 页面控制器
  late PageController pageController;

  @override
  void onInit() {
    super.onInit();

    // 获取传入的图片列表和初始索引
    final args = Get.arguments as Map<String, dynamic>?;
    imageUrls = args?['imageUrls'] ?? [];
    currentIndex.value = args?['initialIndex'] ?? 0;

    // 初始化页面控制器
    pageController = PageController(initialPage: currentIndex.value);

    // 监听页面变化
    pageController.addListener(() {
      if (pageController.page != null) {
        currentIndex.value = pageController.page!.round();
      }
    });
  }

  @override
  void onClose() {
    pageController.dispose();
    super.onClose();
  }

  // 返回上一页
  void goBack() {
    Get.back();
  }
}
